A Modular Design for the Common Language Runtime (CLR) Architecture
نویسنده
چکیده
This paper provides a modular high-level design of the Common Language Runtime (CLR) architecture. Our design is given in terms of Abstract State Machines (ASMs) and takes the form of an interpreter. We describe the CLR as a hierarchy of eight submachines, which correspond to eight submodules into which the Common Intermediate Language (CIL) instruction set can be decomposed.
منابع مشابه
Type Safety of Generics for the .NET Common Language Runtime
The Microsoft .NET Common Language Runtime (CLR) offers support for generic types and methods. We develop a mathematical specification for the generics design through a type system and a model for the semantics of a subset of bytecode instructions with generics. We formalize the type-consistency checks performed for the subset by the CLR bytecode verifier. We then prove that adding support for ...
متن کاملCommon Language Runtime: a new virtual machine
Virtual Machines provide a runtime execution platform combining bytecode portability with a performance close to native code. An overview of current approaches precedes an insight into Microsoft CLR (Common Language Runtime), comparing it to Sun JVM (Java Virtual Machine) and to a native execution environment (IA 32). A reference is also made to CLR in a Unix platform and to techniques on how C...
متن کاملCompiling Mercury to the .NET Common Language Runtime
The .NET Common Language Runtime (CLR) offers a new opportunity to experiment with multi-language interoperation, and provides a relatively rare chance to explore deep interoperation of a wide range of programming language paradigms. This article describes how the logic/functional programming language Mercury is compiled to the CLR. We describe the problems we have encountered with generating c...
متن کاملImplementation of the .NET CLR on FPGAs
Microsoft's .NET platform is a promising technology to achieve interoperability between programming languages, and true portability over different hardware and operating system platforms. Field Programmable Gate Arrays (FPGAs), which are reconfigurable, provide a faster execution environment in addition to low initial cost and minimal usage of silicon space. In this paper, we propose a design o...
متن کاملTowards Supporting Multiple Execution Environments for UML/OCL Models at Runtime (Position Paper)
Our approach allows a developer to verify whether a model corresponds to a concrete implementation in terms of the JVM (Java Virtual Machine) by validating assumptions about model structure and behavior. In previous work, we focused on (a) the validation of static model properties by monitoring invariants, (b) basic dynamic properties by specifying preand postconditions of an operation and (c) ...
متن کامل